A memory map in a computer system may partition different ranges of the system's memory based on a number of factors such as the intended purpose for the various ranges, the type of memory for each range, and the system components that may access or use the various ranges of memory. A memory map may also imply access protocols for the various ranges of memory in order to ensure that all system elements properly interact with memory resources. For example, the memory map for Intel®-based personal computer (PC) systems evolved to accommodate new technologies and methodologies incorporated into system architectures while retaining backward-compatibility with previous system architectures. In order to be compatible with existing PC systems, new system architectures should account for such “legacy” PC memory maps. (Intel is a trademark of Intel Corporation in the U.S. and/or other countries.)
Meanwhile, for flexibility in view of factors such as cost and development time, component designs have increasingly come to embrace SoC (System-on-a-Chip) design methodologies. Some SoC components may be designed to incorporate IP (Intellectual Property) cores, as well as fabrics interconnecting the IP cores, for purposes of flexibility.
Some SoC fabric development has supported the legacy PC system memory map, and as a result the architecture of such systems may be tightly coupled with memory subsystems. However, that tight coupling may interfere with flexibility in SoC system architecture.